package com.hang.mapstruct;

import com.hang.entity.Notice;
import com.hang.model.dto.request.NoticeModelDTO;
import com.hang.model.vo.NoticeInfoDetailVO;
import com.hang.model.vo.NoticeInfoVO;
import org.mapstruct.Mapper;

import java.util.LinkedList;
import java.util.List;

@Mapper(componentModel = "spring")
public interface NoticeMapStruct {
    Notice noticeModelDTOToNotice(NoticeModelDTO noticeModelDTO);

    NoticeInfoVO noticeToNoticeInfoVO(Notice notice);

    default List<NoticeInfoVO> noticeListToNoticeInfoVOList(List<Notice> noticeList){
        List<NoticeInfoVO> noticeInfoVOList = new LinkedList<>();
        noticeList.forEach(
                notice -> {
                    noticeInfoVOList.add(noticeToNoticeInfoVO(notice));
                }
        );
        return noticeInfoVOList;
    }

    //转为详情信息
    NoticeInfoDetailVO noticeToNoticeInfoDetailVO(Notice dbNotice);
}
